1 GOTO910 2 REM ** ML STOP KEY DISABLE ** 3 PRINT"x[169]=[141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X` 4 [153]"xhhh+hNOThhhhhhhPRINT#HRUNHX`111" 5 [153]"hhhhhhh`1" 6 [143] ** 4 - POP ML SUBROUTINE ** 10 [143] **GENERAL INPUT ROUTINE ** 15 : 30 : 35 [143] +++ INPUT SECTION +++ 40 UR$[178]"":UI$[178]"":[151]UO,0 42 [139]UL[178]0[167]UL[178]80 45 [151]UC,0 50 [161]UI$:[139]UI$[178]""[167]50 55 [139]UI$[178][199](13)[175][195](UR$)[177][178]1[167][151]UC,1:[153]" CMD";:[137]85 60 [139]UI$[178][199](20)[167]105 62 [139] [195](UR$)[178][177]UL[167]50 65 [141]120:[143] CHECK FOR VALID CHARACTER 70 UR$[178]UR$[170]UI$ 75 [153]UI$; 80 [137]50 85 [143] +++ CHECK FOR HELP REQUEST +++ 90 [139]UR$[178]UX$[167]195:[143] EXIT TO HELP ROUTINE 95 [139]UF[178]1[167][141]240 100 UF[178]0:[153]:[142] 102 [143] ++ CHECK DELETE ++ 105 [139][195](UR$)[179]1[167]50 110 UR$[178][200](UR$,[195](UR$)[171]1) 115 [153]"CMD CMDCMD";:[137]50 120 [143] ++ CHECK FOR VALID CHARACTERS ++ 125 [139][195](US$)[178]0[167]150 130 [129]US[178]1[164][195](US$) 135 [139]UI$[178][202](US$,US,1)[167][142] 140 [130] 145 UI$[178]"":[142] 150 [143] ** STANDARD INPUT ** 152 [139][198](UI$)[178]46[167][142] 155 [139]UI$[178][199](32)[167][142] 160 [139][198](UI$)[179]48[176][198](UI$)[177]57[167]170 165 [142] 170 [139][198](UI$)[179]65[176][198](UI$)[177]90[167]180 175 [142] 180 [139][198](UI$)[179]193[176][198](UI$)[177]218[167]UI$[178]"":[142] 185 [139][194](UT)[178]UU%[167]UI$[178][199]([198](UI$)[171]128):[142] 187 [142] 190 UI$[178]"":[142] 195 UF[178]1:[143] +++ HELP ROUTINE EXIT +++ 197 [141]250 200 [141]245 205 [129]UQ[178]UB[164]UB[170]920 210 UQ%(UQ[171]UB)[178][194](UQ):[130]:[153]"LOAD" 215 UZ[178]1:UV%[178][194](UT) 216 [137]300 217 UZ[178]0:US$[178]UJ$:UG$[178]UK$:UP[178]UJ:UL[178]UK:[139][194](50003)[178]0[167][151]53281,6:[151]53280,14 220 UT$[178]UL$:[153]"LOAD";:[151]UT,UV%:[129]UQ[178]UB[164]UB[170]920 225 [151]UQ,UQ%(UQ[171]UB):[130] 230 [151]U1,U1% 232 [151]U2,U2% 233 [151]U4,U4% 234 [151]U3,U3%[171]1 235 [153]" CMD";:[137]35 240 UD%[178]((U2%[172]256[170]U1%[170]U3%)[171]UB)[173]40:[153][200](UD$,UD%[170]1):[142] 245 [153][200](UD$,24);"  HELP COMING WAIT ":[142] 250 U1%[178][194](U1):U2%[178][194](U2):U3%[178][194](U3):U4%[178][194](U4) 251 UJ$[178]US$:UK$[178]UG$:UL$[178]UT$:UJ[178]UP:UK[178]UL 255 [142] 300 [143] ** MENU ** 301 : 302 [153]"LOAD":[151]UT,UU%:[139][194](50003)[178]0[167][151]53281,9:[151]53280,8 303 : 305 [153]" MENU" 310 [153]" --------------------------------------" 315 [153]" 1. BEGIN UP THE LADDER" 320 [153]" 2. STUDENT INSTRUCTIONS" 325 [153]" 3. TEACHER INSTRUCTIONS" 335 [153]" 4. QUIT" 340 [153]" --------------------------------------" 345 [153]" PRESS A NUMBER KEY (1-4) "; 350 UL[178]1:US$[178]"1234":[141]35:[143] INPUT ROUTINE 352 US$[178]"" 355 [145][197](UR$)[141]1000,400,500,396 360 [137]300 395 [143] ** RE-ENABLE STOP KEY AND END ** 396 [139][194](50003)[179][177]1[175][194](50003)[179][177]160[175][194](50003)[179][177]0[167]399 397 [158]UU[170]71:[139][194](50003)[178]0[167][151]53281,6:[151]53280,14 398 [153]"CONTLOAD":[128] 399 [141]875:[142] 400 [143] ** STUDENT INSTRUCTIONS ** 405 [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,0:[151]53280,0 410 UP[178]0:UH[178]1:UG$[178]"(null)TUDENT RIGHT$NST":[141]850 420 [141]2500 480 [141]835 490 [139]UZ[178]1[167][158]UP%:[137]217 499 [142] 500 [143] ** TEACHER INSTRUCTIONS ** 501 [153]"LOAD":[151]UT,UL%:[139][194](50003)[178]0[167][151]53281,2:[151]53280,10 502 UP[178]0:UG$[178]"(null)EACHER RIGHT$NST":[141]850 503 [153]" (null)O THE BEST OF OUR KNOWLEDGE," 504 [153]" THIS PROGRAM IS IN THE PUBLIC" 505 [153]" DOMAIN. RIGHT$F THIS IS NOT THE CASE" 506 [153]" PLEASE CONTACT:" 507 [153]" LENOMMODORE PEEKUSINESS (null)ACHINES" 508 [153]" 3370 (null)HARMACY ATNVE. 509 PRINT" [193]GINCOURT, [207]NTARIO" 510 PRINT" [195]ANADA [205]1[215] 2[203]4" 511 PRINT" (416) 499-4292" 512 UP=1:GOSUB 835:GOSUB 850: 513 PRINT" [208]ROGRAM [206]AME: [213]P [212]HE [204]ADDER 514 [153]" (null)RITTEN PEEKY : ASCRED LENHRISTIE 515 PRINT" [213]PGRADED [194]Y :  516 [153]" (null)HIS PROGRAM WILL RUN ON ANY 517 PRINT" [194][193][211][201][195][160]2.0 [208][197][212] [195][207][205][208][213][212][197][210] 518 [153]" PEEKATN(null)RIGHT$LEN 4.0 (null)VAL(null)CLOSELEN(null)(null)(null)(null)(null)VAL(null) 519 PRINT" 8032 [195][194][205] [195][207][205][208][213][212][197][210] 520 [153]" LEN(null)(null)(null)(null)STR$(null)(null)VAL 64 LEN(null)(null)(null)(null)(null)VAL(null) 521 GOSUB835 590 IFUZ=1THENSYSUP%:GOTO217 599 RETURN 600 REM ** PROGRAM MODIFICATION INST ** 601 PRINT"[147]":POKEUT,UL% 605 UP=0:UG$="[208]ROGRAM [205]OD":GOSUB850 660 GOSUB835 690 IFUZ=1THENSYSUP%:GOTO217 699 RETURN 700 REM ** TO USE 8032 LOAD CBM4032 ** 710 PRINT"[147]BEFORE RUNNING THIS PROGRAM ON AN 8032  720 [153]" LOAD THE 'CBM 4032' PROGRAM" 730 [158]UU[170]71 740 [128] 797 [143] ** TO USE 8032 LOAD CBM4032 ** 798 [153]"LOADBEFORE RUNNING THIS PROGRAM ON AN 8032 LOAD CBM 4032 PROGRAM" 799 [158]1093:[128] 800 [143] ** T I T L E P A G E ** 802 [153]"LOAD";:[151]UT,UU%:[139][194](50003)[178]0[167][151]53280,14:[151]53281,6 803 [153][199](142); 804 [129]I[178]1[164]38:[153]"SPC(WAIT";:[130] 806 [129]I[178]1[164]22:[153]"CMDSPC(WAIT";:[130] 808 [129]I[178]1[164]37:[153]"CMDCMDSPC(WAIT";:[130] 810 [129]I[178]1[164]22:[153]"ONCMDSPC(WAIT";:[130] 812 [153]"STEP WAIT 814 PRINT" [146]  [146][169] 816 [153]" WAIT TAB((null) 818 PRINT"[223] [146] 820 [153]"C O M M O D O R E 822 PRINT"EDUCATIONAL 824 [153]"SOFTWARE 826 REM ** COMMODORE LOGO ** 827 PRINTLEFT$(UD$,24);"PRESS SPACE BAR OR WAIT[146]":I=0 828 GETA$:IFA$<>" "THENI=I+1:IFI<250THEN828 830 T1$="":T2$="":T3$="":T4$="":I=0 832 GOTO300 835 REM ** SPACE BAR PRESS ** 840 PRINTLEFT$(UD$,24);"PRESS SPACE BAR TO CONTINUE[146]":POKEUO,0 844 GETUI$:IFUI$<>" "THEN844 846 RETURN 850 REM ** PAGE DESIGN ROUTINE ** 852 UP=UP+1:PRINT"[147]"; 855 PRINT""LEFT$(UT$+UP$,21);RIGHT$(UP$+UG$+STR$(UP),18) 860 PRINT" --------------------------------------" 864 IFUH<>0THEN870 865 PRINTLEFT$(UD$,24);LEFT$(UP$,7);"HELP - PRESS H " 870 UH=0:PRINT"":RETURN 875 REM ** PLEASE WAIT REMARK ** 880 PRINTLEFT$(UD$,24);" ONE MOMENT PLEASE... " 885 RETURN 900 REM ** SET UP VARIABLES ** 901 UX$="H":DIMUQ%(1000):UB=32768:U1=196:U2=197:U3=198:U4=216:UC=167:UU=1024 902 UT=59468:UU%=12:UL%=14:UP%=1146:UM=32768:POKE 50003,0:UO=158 903 IFPEEK(50003)=0THENUB=1024:U1=209:U2=210:U3=211:U4=214:UC=204:UU=2048 904 IFPEEK(50003)=0THENUT=53272:UU%=21:UL%=23:UP%=2139:UM=1024:UO=198 905 UD$="" 906 UP$=" " 907 UT$=" [213][208][160][212][200][197][160][204][193][196][196][197][210][160][160][160][160][160]":REM PLACE PROGRAM TITLE HERE !!!!!!!!!!!!!!!!!*** 908 RETURN 910 REM ** SET VARIABLES ** 915 GOSUB900 916 : 917 : 920 REM ** CHECK FOR 8032 ** 925 PRINT"[147]":PRINT"[160]":REM SHIFTED SPACE 930 IFPEEK(UB+40)<>96THENGOSUB700 931 REM ** MEMORY CHECK ** 932 IF FRE(0)>2000THEN937 933 PRINT"[147]THIS MACHINE DOES NOT HAVE ENOUGH" 934 PRINT"MEMORY TO RUN THIS PROGRAM !" 935 SYSUU+71 936 END 937 PRINT"[147]":IFPEEK(50003)=0THEN962 940 REM ** BASIC 2.0 OR 4.0 OR C-64 SETUP ** 941 POKE1075,133:POKE1076,144:POKE1077,234:POKE1079,4:POKE1080,133:POKE1081,145 942 POKE1091,155:POKE1098,133:POKE1099,144:POKE1100,234:POKE1103,133 943 POKE1104,145:POKE1105,234:POKE1082,234 945 IFPEEK(50003)<>160THEN955 950 POKE1093,88:POKE1094,228:POKE1097,85:POKE1102,228:GOTO965 955 IFPEEK(50003)<>1THEN990 960 POKE1093,49:POKE1094,230:POKE1097,46:POKE1102,230:GOTO965 962 POKE2099,141:POKE2100,20:POKE2101,3:POKE2103,8:POKE2104,141:POKE2105,21 963 POKE2106,3:POKE2115,145:POKE2117,52:POKE2118,234:POKE2121,49:POKE2122,141 964 POKE2123,20:POKE2124,3:POKE2126,234:POKE2127,141:POKE2128,21:POKE2129,3 965 SYSUU+48:REM DISABLE STOP KEY 970 GOSUB800:REM TITLE 980 GOTO300:REM MENU 990 PRINT"[147]THE PGM WILL NOT WORK ON THIS MACHINE!":END 1000 IFUZ=1THENSYSUP%:SYSUP%:UZ=0:REM ** PROGRAM STARTS HERE ** 1001 PRINT"[147]";:RESTORE:IFPEEK(50003)=0THENPOKE53281,6:POKE53280,14 1005 AA=RND(-TI):F=0 1010 RESTORE 1020 REM ETOBICOKE BOARD OF EDUCATION 1030 REM 1040 REM 1050 REM ****************************** 1090 REM ** (81/7/7) ** 1110 REM ** FRED CHRISTIE ** 1130 REM ** 11 MILLVIEW CRES. ** 1140 REM ** REXDALE ONTARIO ** 1150 REM ** M9W 3K4 ** 1160 REM ** ** 1170 REM ** 749 6290 (416) ** 1180 REM ** 742 5431 ** 1190 REM ** ** 1200 REM ****************************** 1210 REM 1220 REM 1230 REM 1240 REM 1250 REM DOCUMENTATION 1260 REM 1270 REM# THIS PROGRAM IS DESIGNED FOR 1280 REM# 1290 REM# CHILDREN IN PRIMARY GRADES (OR 225 REM# 1300 REM# HIGHER) WHO ARE LEARNING THE 1310 REM# 1320 REM# BASIC FACTS OF ADDITION. IT 1330 REM# 1340 REM# PROVIDES THEM WITH DRILL OF 1350 REM# 1360 REM# THE FACTS FROM 0+0 TO 9+9 1370 REM# 1380 REM# RANDOMLY GENERATED. MOTIVA- 1390 REM# 1400 REM# TION IS PROVIDED IN THAT THE 280 REM# 1410 REM# CHILD HAS TO WORK HIS WAY UP 1420 REM# 1430 REM# TO THE TOP OF THE LADDER. A 1440 REM# 1450 REM# TIME IS GIVEN FOR THE CHILD TO 310 REM# 1460 REM# GET TO THE TOP AND IF HE PLAYS 320 REM# 1470 REM# AGAIN HE CAN TRY TO BEAT HIS 1480 REM# 1490 REM# PREVIOUS BEST TIME. 1500 REM# 1510 REM# 1520 POKEUT,UL% 1530 : 1540 LQ=4:REM MAX LENGTH OF ANSWER 1550 MX=10:REM MAX FIRST NUMBER 1560 MY=10:REM MAX SECOND NUMBER 1570 : 1580 DN$="" 1590 PU$="[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]" 1600 RT$="" 1610 LT$="[157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]" 1620 S=300 1670 GOSUB2840:REM LADDER 1680 PRINT"[215]HAT IS YOUR NAME?"; 1690 PRINT" ";:UL=5:US$="":GOSUB35:NAME$=UR$ 1700 PRINT"[217]OU LOOK LIKE AN HONEST PERSON 1710 [153]"";NAME$;".";" RIGHT$'M GOING TO GIVE YOU A 1720 PRINT"RIGHT ANSWER FOR THAT!" 1750 GOSUB835 1770 T1=TI 1780 UP=F:UG$="[209]UESTION #":GOSUB2840 1790 PRINT" " 1800 FOR X=1TO50:NEXT 1810 PRINT"[166]" 1820 FOR X=1TO1500:NEXT 1830 DD=19:GOTO 1940 1840 IFDD>16 THEN1770 1850 REM 1860 PRINT""+LEFT$(RT$,1)+LEFT$(DN$,DD+1);"[192]" 1870 PRINT""+LEFT$(RT$,1)+LEFT$(DN$,(DD-1));"[166]" 1880 DD=DD-2:IFDD=1THEN2120 1890 GOTO1940 1900 IFDD>16THEN1770 1910 PRINT""+LEFT$(RT$,1)+LEFT$(DN$,DD+1);"[192]" 1920 PRINT""+LEFT$(RT$,1)+LEFT$(DN$,(DD+5));"[166]" 1930 DD=DD+4:GOTO2000:REM REPEAT QUESTION 1940 REM GENERATE QUESTIONS 1950 F=F+1:UP=F:GOSUB855 1960 X=INT(MX*RND(0)) 1970 Y=INT(MY*RND(0)) 1990 PRINT" " 2000 PRINT" " X "+" Y "= [157][157][157][157][157]"; 2010 PRINT" ";:UL=3:US$="0123456789+-.H":GOSUB35:ANS=VAL(UR$) 2020 IFANS<>X+YTHEN2090 2040 IF ANS=X+Y THEN PRINT"[210]IGHT ON!":GOSUB3900 2060 PRINT"[145] " 2070 GOTO1850 2090 PRINT"[211]ORRY! [212]RY AGAIN." 2100 R=INT(RND(0)*2+1):ONRGOSUB3940,4000 2110 GOTO1900 2120 T2=TI: REM TIME VARIABLE 2130 FORX=1TO2000:NEXT:UG$="":UP=0:UH=1 2140 GOSUB850:PRINT"";NAME$;", YOU MADE IT TO " 2143 POKE59467,16:POKE59466,15 2144 FORQ=1TO3:FOR X=45 TO30 STEP-1:POKE59464,X:FORJ=1TO7:NEXTJ,X,Q 2150 POKE59464,1 2160 PRINT"" 2170 PRINT"  [146]  [146]  [146]  [146]" 2180 PRINT"  [146]  [146]  [146]  [146]" 2190 PRINT"  [146]  [146]  [146]" 2200 PRINT"  [146]  [146]  [146]  [146]" 2210 PRINT"  [146]  [146]  [146]  [146]" 2220 FORQ=1TO3:FOR X=35 TO20 STEP-1:POKE59464,X:FORJ=1TO7:NEXTJ,X,Q 2230 PRINT"" 2240 PRINT"  [146] [169] [223][146]  [223][146]  [146]" 2250 PRINT"  [146]  [146]  [146]  [146]  [146]  [146]" 2260 PRINT"  [146]  [146]  [146]  [146][169]  [146]" 2270 PRINT"  [146]  [146]  [146]  [146]" 2280 PRINT"  [146] [223] [146][169]  [146]  [146]" 2290 FORQ=1TO6:M=(Q=6)*-35+38:FOR X=35TOM:POKE59464,X:FORJ=1TO7:NEXTJ,X,Q 2291 POKE59467,14 2300 T=INT((T2-T1)/60) 2310 UH=1:GOSUB850:PRINT"[217]OUR TIME WAS";T;"SECONDS." 2320 IFT<=STHENS=T 2330 FORX=1TO1000:NEXT 2340 PRINT"[217]OUR BEST TIME TODAY IS";S;"SECONDS." 2350 FORX=1TO1000:NEXT 2360 PRINT"[215]OULD YOU LIKE TO PLAY AGAIN?" 2370 GET Z4$:IF Z4$=""THEN2370 2380 IFZ4$="Y"THENT1=TI:GOTO1770 2390 UH=1:GOSUB850:PRINT"[211]EE YOU AGAIN SOMETIME, ";NAME$:GOSUB4110 2400 GOTO835 2500 REM INSTRUCTIONS FROM410 2510 LL$="[221] [221]":SS$="[171][192][179]" 2530 FORAA=1TO9:PRINTSS$:PRINTLL$:NEXTAA:PRINTSS$ 2560 PRINT"[221][166][221]" 2600 FORX=1TO500:NEXT 2620 PRINT"[212]HIS SYMBOL,"; 2630 FOR X=1TO500:NEXT 2640 PRINT" [166]"; 2650 FORX=1TO500:NEXT 2660 PRINT"IS YOU AT THE BOTTOM 2670 [153]"OF THE LADDER." 2680 [129]X[178]1[164] 2000:[130] 2690 [153][200](UD$,6) 2700 [153]"_TANTAN" 2710 [129]X[178]1[164]3000:[130] 2720 [153][200](UD$,8) 2730 [153]"(null)OU WORK YOUR WAY UP THE LADDER BY 2740 PRINT"ANSWERING QUESTIONS. [198]OR EACH" 2750 PRINT"QUESTION THAT YOU ANSWER CORRECTLY 2760 [153]"YOU MOVE UP ONE RUNG OF THE LADDER." 2770 [153]"RIGHT$F YOU MAKE AN ERROR, YOU SLIPWAIT" 2780 [153]"BACKWAIT TWO. 2810 RETURN 2820 GOTO1680 2830 STOP 2840 REM LADDER 2850 LL$="[221] [221]":SS$="[171][192][179]" 2860 GOSUB850 2870 FORAA=1TO9:PRINTSS$:PRINTLL$:NEXTAA:PRINTSS$:PRINT"[221][166][221]" 2910 FORX=1TO500:NEXT:RETURN 3900 R=INT(RND(0)*3+1):ONRGOTO4320,4630,4510 3940 REM RASPBERRY 3950 POKE59467,16:POKE59464,0:POKE59466,9:FORL=1TO50:POKE59464,238:POKE59464,25 3960 NEXT:POKE59467,0:POKE59466,0:POKE59464,0:RETURN 4000 REM BOMBS AWAY 4040 POKE59467,16 4050 POKE59464,0 4060 POKE59466,85 4070 FORR=50TO75 :POKE59464,R:FORL=1TO30:NEXT:NEXT 4080 POKE59466,1:POKE59464,255:FORL=1TO400:NEXT 4090 POKE59467,0:POKE59466,0:POKE59464,0 4100 RETURN 4110 REM SHAVE 'N HAIRCUT ADAPTED FROM 4150 P=59464 4160 POKE59467,16 4170 POKE59464,0 4180 GOSUB4210 4190 POKE59467,0:POKE59466,0:POKE59464,0 4200 RETURN 4210 POKE59466,15:T=3 4220 POKEP,188:FORL=1TO200:NEXT 4230 POKEP,251:FORL=1TO100:NEXT:GOSUB4310 4240 POKEP,251:FORL=1TO100:NEXT 4250 POKEP,225:FORL=1TO200:NEXT 4260 POKEP,251:FORL=1TO300:NEXT 4270 POKE P,0:FORL=1TO150:NEXT 4280 POKEP,199:FORL=1TO200:NEXT:T=50:GOSUB4310 4290 POKEP,188:FORL=1TO150:NEXT 4300 RETURN 4310 POKE59464,0:FORL=1TOT:NEXT:RETURN 4320 REM CHARGE! ADAPTED FROM 4360 P=59464 4370 POKE59467,16 4380 POKE59464,0 4390 GOSUB4430 4400 POKE59467,0:POKE59466,0:POKE59464,0 4410 RETURN 4430 POKE59466,15:T=3 4440 POKEP,255:FORL=1TO100:NEXT:GOSUB4310 4450 POKEP,191:FORL=1TO100:NEXT:GOSUB4310 4460 POKEP,152:FORL=1TO100:NEXT:GOSUB4310 4470 POKEP,128:FORL=1TO200:NEXT:GOSUB4310 4480 POKEP,152:FORL=1TO100:NEXT:T=0:GOSUB4310 4490 POKEP,128:FORL=1TO400:NEXT 4500 RETURN 4510 REM VANISHING SAUCER ADAPTED FROM 4550 P=59464 4560 POKE59467,16 4570 POKE59464,0 4580 POKE59466,29 4590 FORL=160TO30 STEP-1 :POKEP,L:POKEP,L+5:POKEP,L+15:REMFOR Z=1TO0:NEXT 4600 NEXT 4610 POKE59467,0:POKE59466,0:POKE59464,0 4620 RETURN 4630 REM SCRAMBLE ADAPTED FROM 4670 POKE59467,16 4680 POKE59464,0 4690 POKE59466,85 4700 FORL=1TO5 4710 FORL1=1TO14:POKE59464,L1*16:NEXT 4720 NEXT 4730 POKE59467,0:POKE59466,0:POKE59464,0 4740 RETURN 4750 MOST OF THESE SOUND EFFECTS ARE 4760 COUTESY OF JOHN DAVID AND ALSO 4770 CURSOR MAGAZINE.